// 收藏列表页面
Page({
  data: {
    // 收藏商品列表
    collectionList: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getCollectionData();
  },

  /**
   * 获取收藏列表数据
   */
  getCollectionData: function () {
    // 从本地存储获取收藏列表
    let collectionList = wx.getStorageSync('collectionList') || [];
    
    // 格式化收藏时间
    collectionList = collectionList.map(item => {
      return {
        ...item,
        formattedTime: this.formatTime(item.addTime)
      };
    });
    
    // 按收藏时间倒序排序
    collectionList.sort((a, b) => b.addTime - a.addTime);
    
    this.setData({
      collectionList
    });
  },

  /**
   * 格式化时间
   */
  formatTime: function (timestamp) {
    if (!timestamp) return '';
    
    const date = new Date(timestamp);
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDate();
    
    return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
  },

  /**
   * 删除收藏商品
   */
  onDeleteItem: function (event) {
    const id = event.currentTarget.dataset.id;
    
    wx.showModal({
      title: '提示',
      content: '确定要取消收藏该商品吗？',
      success: (res) => {
        if (res.confirm) {
          // 从本地存储获取收藏列表
          let collectionList = wx.getStorageSync('collectionList') || [];
          
          // 从收藏列表中删除商品
          collectionList = collectionList.filter(item => item.id !== id);
          
          // 保存到本地存储
          wx.setStorageSync('collectionList', collectionList);
          
          // 更新页面数据
          this.getCollectionData();
          
          wx.showToast({
            title: '已取消收藏',
            icon: 'success'
          });
        }
      }
    });
  },

  /**
   * 将收藏商品添加到购物车
   */
  onAddToCart: function (event) {
    const item = event.currentTarget.dataset.item;
    
    // 从本地存储获取购物车数据
    let cartList = wx.getStorageSync('cartList') || [];
    
    // 检查商品是否已在购物车中
    const existingItemIndex = cartList.findIndex(cartItem => cartItem.id === item.id);
    
    if (existingItemIndex !== -1) {
      // 如果商品已在购物车中，增加数量
      cartList[existingItemIndex].num += 1;
    } else {
      // 如果商品不在购物车中，添加商品
      cartList.push({
        id: item.id,
        name: item.name,
        price: item.price,
        imageUrl: item.imageUrl,
        num: 1
      });
    }
    
    // 保存到本地存储
    wx.setStorageSync('cartList', cartList);
    
    // 更新tabBar购物车数量
    this.updateCartBadge();
    
    wx.showToast({
      title: '已加入购物车',
      icon: 'success'
    });
  },

  /**
   * 更新tabBar购物车数量
   */
  updateCartBadge: function () {
    const cartList = wx.getStorageSync('cartList') || [];
    const count = cartList.reduce((total, item) => total + item.num, 0);
    
    if (count > 0) {
      wx.setTabBarBadge({
        index: 1, // 购物车图标的索引，根据实际情况调整
        text: count.toString()
      }).catch(err => {
        console.log('设置TabBarBadge失败', err);
      });
    } else {
      wx.removeTabBarBadge({
        index: 1 // 购物车图标的索引，根据实际情况调整
      }).catch(err => {
        console.log('移除TabBarBadge失败', err);
      });
    }
  },

  /**
   * 跳转到商品详情页
   */
  onGoodsClick: function (event) {
    const id = event.currentTarget.dataset.id;
    wx.navigateTo({
      url: `/pages/product/detail/index?id=${id}`
    });
  },

  /**
   * 跳转到首页
   */
  goShopping: function () {
    wx.switchTab({
      url: '/pages/index/index'
    });
  }
});